opt._parallelNetworkJobs = account->isHttp2Supported() ? 20 : 6;
// Chunk V2: Size of chunks must be between 5MB and 5GB, except for the last chunk which can be smaller
- if (const auto capsMaxChunkSize = account->capabilities().maxChunkSize(); capsMaxChunkSize <= 0) {
+ if (const auto capsMaxChunkSize = account->capabilities().maxChunkSize(); capsMaxChunkSize <= 0 && !cfgFile.overrideServerChunkSize) {
opt.setMinChunkSize(capsMaxChunkSize);
opt.setMaxChunkSize(capsMaxChunkSize);
opt._initialChunkSize = capsMaxChunkSize);
static constexpr char isVfsEnabledC[] = "isVfsEnabled";
static constexpr char geometryC[] = "geometry";
static constexpr char timeoutC[] = "timeout";
+static constexpr char overrideServerChunkSize[] = "overrideServerChunkSize";
static constexpr char chunkSizeC[] = "chunkSize";
static constexpr char minChunkSizeC[] = "minChunkSize";
static constexpr char maxChunkSizeC[] = "maxChunkSize";
return settings.value(QLatin1String(timeoutC), 300).toInt(); // default to 5 min
}
+bool ConfigFile::overrideServerChunkSize() const
+{
+ QSettings settings(configFile(), QSettings::IniFormat);
+ return settings.value(QLatin1String(overrideServerChunkSize), false).toBool();
+}
+
qint64 ConfigFile::chunkSize() const
{
QSettings settings(configFile(), QSettings::IniFormat);
void setShowInExplorerNavigationPane(bool show);
[[nodiscard]] int timeout() const;
+ [[nodiscard]] bool overrideServerChunkSize() const;
[[nodiscard]] qint64 chunkSize() const;
[[nodiscard]] qint64 maxChunkSize() const;
[[nodiscard]] qint64 minChunkSize() const;